import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm';
import { GenderType } from 'src/common/type/gender.type';
import { CustomerLevelType } from './type/customer.level.type';

// 客户表
@Entity('customer')
export class CustomerEntity {
  // id（自增id）
  @PrimaryGeneratedColumn()
  id: number;

  // 姓名
  @Column({
    type: 'varchar',
    length: 255,
    default: '',
  })
  name: string;

  // 手机
  @Column({
    type: 'varchar',
    length: 255,
    default: '',
  })
  phone: string;

  // 邮箱
  @Column({
    type: 'varchar',
    length: 255,
    default: '',
  })
  email: string;

  // 微信
  @Column({
    type: 'varchar',
    length: 255,
    default: '',
  })
  wechat: string;

  // 抖音
  @Column({
    type: 'varchar',
    length: 255,
    default: '',
  })
  douyin: string;

  // 快手
  @Column({
    type: 'varchar',
    length: 255,
    default: '',
  })
  kuaishou: string;

  // 年龄
  @Column({
    type: 'int',
    default: null,
  })
  age: number;

  // 性别
  @Column({
    type: 'enum',
    enum: GenderType,
    default: 3,
  })
  gender: number;

  // 区域id（6位区域代码）
  @Column({
    type: 'char',
    length: 6,
    default: '',
  })
  area: string;

  // 地址
  @Column({
    type: 'varchar',
    length: 255,
    default: '',
  })
  address: string;

  // 用户等级
  @Column({
    type: 'enum',
    enum: CustomerLevelType,
    default: null,
  })
  level: number;

  // 首次联系的时间
  @Column({
    type: 'datetime',
    default: null,
  })
  first_contact_time: Date;

  // 首次联系的ip
  @Column({
    type: 'varchar',
    length: 255,
    default: '',
  })
  first_contact_ip: string;

  // 最后一次联系时间
  @Column({
    type: 'datetime',
    default: null,
  })
  last_contact_time: Date;

  // 最后一次联系的ip
  @Column({
    type: 'varchar',
    length: 255,
    default: '',
  })
  last_contact_ip: string;

  // 创建时间
  @Column({
    type: 'datetime',
    default: null,
  })
  create_time: Date;

  // 描述
  @Column({
    type: 'varchar',
    length: 255,
    default: '',
  })
  description: string;

  // 员工id
  @Column({
    type: 'int',
  })
  employee_id: number;
}
